Platform Explorer / Nuxeo Platform 2023.22

Extension point factoryBinding

Documentation

Define a new factory binding.

-factoryBinding - name: name of the factory, defining a factory with the same name will override the first to be registered. - factoryName: the name of the factory defined in the factory extensionPoint. - targetType: The document Type for which the factory will be executed.

-acl: set rights on document to your users. -principal: Name of the group/user -permission: the permission you want to set. -granted: grant or denied the permission.

-template - typeName: The Type of the Document you want to create. - id: The id of the Document you want to create. - title: The title of the Document you want to create. - description: The description of the Document you want to create. - path: additionary path, added to facctoryBinding's targetType DocPath

Example of a factoryBinding Registration:

    <factoryBinding factoryName="SimpleTemplateFactory"
        name="RootFactory" targetType="Root">
        <acl>
            <ace granted="true" permission="Everything" principal="Administrator"/>
            <ace granted="true" permission="Everything" principal="administrators"/>
            <ace granted="true" permission="Read" principal="members"/>
            <ace granted="true" permission="Version" principal="members"/>
        </acl>
        <template>
            <templateItem description="Default domain"
                id="default-domain" title="Default domain" typeName="Domain"/>
        </template>
    </factoryBinding>

Contribution Descriptors

  • Class: org.nuxeo.ecm.platform.content.template.service.FactoryBindingDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-platform-content-template-manager-2023.22.13.jar /OSGI-INF/content-template-contrib.xml
    <extension point="factoryBinding" target="org.nuxeo.ecm.platform.content.template.service.ContentTemplateService">
    
        <factoryBinding factoryName="SimpleTemplateRootFactory" name="RootFactory" targetType="Root">
          <acl>
            <ace granted="true" permission="Everything" principal="Administrator"/>
            <ace granted="true" permission="Read" principal="members"/>
          </acl>
          <template>
            <templateItem id="default-domain" title="Domain" typeName="Domain"/>
          </template>
        </factoryBinding>
    
        <factoryBinding factoryName="SimpleTemplateFactory" name="DomainFactory" targetType="Domain">
          <template>
            <templateItem id="workspaces" title="Workspaces" typeName="WorkspaceRoot"/>
            <templateItem id="sections" title="Sections" typeName="SectionRoot"/>
            <templateItem id="templates" title="Templates" typeName="TemplateRoot"/>
          </template>
        </factoryBinding>
    
        <factoryBinding factoryName="SimpleTemplateFactory" name="SectionRootFactory" targetType="SectionRoot">
          <acl>
            <ace granted="true" permission="CanAskForPublishing" principal="members"/>
          </acl>
        </factoryBinding>
    
      </extension>
  • nuxeo-platform-comment-2023.22.13.jar /OSGI-INF/comment-defaultPermissions-contrib.xml
    <extension point="factoryBinding" target="org.nuxeo.ecm.platform.content.template.service.ContentTemplateService">
        <factoryBinding factoryName="SimpleTemplateFactory" name="CommentRootFactory" targetType="CommentRoot">
          <acl>
            <ace granted="true" permission="AddChildren" principal="members"/>
            <ace granted="true" permission="RemoveChildren" principal="members"/>
          </acl>
         </factoryBinding>
      </extension>
  • nuxeo-platform-task-core-2023.22.13.jar /OSGI-INF/task-content-template-contrib.xml
    <extension point="factoryBinding" target="org.nuxeo.ecm.platform.content.template.service.ContentTemplateService">
    
        <factoryBinding append="true" factoryName="SimpleTemplateRootFactory" name="TasksRootFactory" targetType="Root">
          <template>
            <templateItem id="task-root" title="Task" typeName="TaskRoot">
              <acl>
                <ace granted="true" permission="Everything" principal="Administrator"/>
                <ace granted="true" permission="Everything" principal="administrators"/>
                <ace granted="false" permission="Everything" principal="Everyone"/>
              </acl>
            </templateItem>
          </template>
        </factoryBinding>
    
      </extension>
  • nuxeo-retention-2023.4.11.jar /OSGI-INF/retention-content-template.xml
    <extension point="factoryBinding" target="org.nuxeo.ecm.platform.content.template.service.ContentTemplateService">
    
        <factoryBinding append="true" factoryName="SimpleTemplateRootFactory" name="RetentionRulesFactory" targetType="Root">
          <template>
            <templateItem id="RetentionRules" title="RetentionRules" typeName="RetentionRules">
              <acl>
                <ace granted="true" permission="Everything" principal="Administrator"/>
                <ace granted="true" permission="Everything" principal="administrators"/>
                <ace granted="true" permission="Everything" principal="RecordManager"/>
                <ace granted="false" permission="Everything" principal="Everyone"/>
              </acl>
            </templateItem>
          </template>
        </factoryBinding>
    
      </extension>